]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
status/volume: Use (dis)connectObject
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 15 Jul 2022 12:30:49 +0000 (14:30 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 19 Jul 2022 12:56:46 +0000 (14:56 +0200)
It makes sense to use this for all MixerControl handlers, not just
some of them.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2380>

js/ui/status/volume.js

index 2aa3f0c5cd3dbdad2cb4de2b399bce3639e344da..1babc440e75da4b10f62a2dd773ed80c9970dc1b 100644 (file)
@@ -81,8 +81,7 @@ var StreamSlider = class extends Signals.EventEmitter {
     }
 
     set stream(stream) {
-        if (this._stream)
-            this._disconnectStream(this._stream);
+        this._stream?.disconnectObject(this);
 
         this._stream = stream;
 
@@ -96,10 +95,6 @@ var StreamSlider = class extends Signals.EventEmitter {
         this._updateVisibility();
     }
 
-    _disconnectStream(stream) {
-        stream.disconnectObject(this);
-    }
-
     _connectStream(stream) {
         stream.connectObject(
             'notify::is-muted', this._updateVolume.bind(this),
@@ -269,8 +264,12 @@ var InputStreamSlider = class extends StreamSlider {
     constructor(control) {
         super(control);
         this._slider.accessible_name = _("Microphone");
-        this._control.connect('stream-added', this._maybeShowInput.bind(this));
-        this._control.connect('stream-removed', this._maybeShowInput.bind(this));
+
+        this._control.connectObject(
+            'stream-added', () => this._maybeShowInput(),
+            'stream-removed', () => this._maybeShowInput(),
+            this);
+
         this._icon.icon_name = 'audio-input-microphone-symbolic';
         this._icons = [
             'microphone-sensitivity-muted-symbolic',
@@ -316,9 +315,11 @@ var VolumeMenu = class extends PopupMenu.PopupMenuSection {
         this.hasHeadphones = false;
 
         this._control = control;
-        this._control.connect('state-changed', this._onControlStateChanged.bind(this));
-        this._control.connect('default-sink-changed', this._readOutput.bind(this));
-        this._control.connect('default-source-changed', this._readInput.bind(this));
+        this._control.connectObject(
+            'state-changed', () => this._onControlStateChanged(),
+            'default-sink-changed', () => this._readOutput(),
+            'default-source-changed', () => this._readInput(),
+            this);
 
         this._output = new OutputStreamSlider(this._control);
         this._output.connect('stream-updated',